package com.at.clinica.services.impl;

import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;

import com.at.clinica.repository.ICategoriaRepository;
import com.at.clinica.services.ICategoriaServices;
import com.at.clinica.vos.Categoria;
import com.at.clinica.vos.SubCategoria;

public class CategoriaServices implements ICategoriaServices {
	
	@Autowired
	ICategoriaRepository repoCategoria;
	 
	protected final Log logger = LogFactory.getLog(getClass());

	@Transactional
	@Override
	public void agregarCategorias(Categoria categoria) throws Exception {
		repoCategoria.saveUpdate(categoria);
		
	}
	
	public Categoria buscarCategoria(Categoria categoria) throws Exception {
		return (Categoria)repoCategoria.findById(categoria.getId(),Categoria.class);
		
	}

	@Override
	public List<Categoria> listarCategorias() throws Exception {
		return repoCategoria.getListEntity(Categoria.class);
	}

	@Override
	public List<SubCategoria> listarSubCategoriasdeCategorias(
			Categoria categoria) throws Exception {
		//Aca en realidad se deberia armar la sql, que busque en la base de datos
		return categoria.getSubCategorias();
	}
	
}